#include <iostream>
#include <stdlib.h>
#include <vector>
#include <algorithm>
#include<time.h>
#include "AvlTree.h"
using namespace std;

template <typename Comparable>
void random(vector<Comparable> &_arr) {
    int len = _arr.size();
    srand((unsigned)time(NULL));//获取时间使rand()不同
    for(int i = len - 1; i >= 0; i--) {
        int randomIndex = rand()%len;  //获取一个0-len之间的随机数
        Comparable temp = _arr[randomIndex];
        _arr[randomIndex] = _arr[i];
        _arr[i] = temp;//将 _arr[randomIndex] 和 _arr[i]互换
    }
}//用于随机序列 该函数时间复杂度为n

template <typename Comparable>
void print(const vector<Comparable> &_arr){
    for(int i:_arr)cout<< i << " ";
    cout<< "\n";

};//打印arr


int main(){
    vector<int> arr;
    for(int i = 0; i < 500 ;i++)  arr.push_back(i);
    random(arr);
    
    ///准备一个500个乱序的数列来插入AvlTree,
    ///不过好像没啥意义，就是增加了计算量，或许能让结果更可信？

    AvlTree<int> T;
    int a,b;
    cin >> a;    cin >> b;
    for (int i:arr)T.insert(i);
    
    T.search_out(a,b);//结束

    return 0;
}
